package com.scuec.trainingmanagementsys.service;

import com.scuec.trainingmanagementsys.entity.DailyReport;

import java.util.List;
import java.util.Map;

public interface DailyReportService {

    /**
     * 查询所有日报记录
     * @return 日报记录列表
     */
    List<DailyReport> findAll();

    /**
     * 根据ID删除日报记录
     * @param dailyReportID 日报ID
     * @return 是否删除成功
     */
    boolean deleteById(Integer dailyReportID);

    /**
     * 插入新的日报记录
     * @param dailyReport 日报实体
     * @return 是否插入成功
     */
    boolean insert(DailyReport dailyReport);

    /**
     * 根据学生ID查询日报记录
     * @param studentID 学生ID
     * @return 日报记录列表
     */
    List<DailyReport> findByStudentID(Integer studentID);

    /**
     * 根据项目ID查询日报记录
     * @param projectID 项目ID
     * @return 日报记录列表
     */
//    List<DailyReport> findByProjectID(Integer projectID);

    /**
     * 查询所有日报记录，关联学生表和团队表
     * @return 包含学生姓名和团队名称的日报记录列表
     */
    List<Map<String, Object>> findAllWithRelations();

    List<Map<String, Object>> findByStudentIDWithRelations(Integer studentID);

    List<Map<String, Object>> findByProjectIDWithRelations(Integer projectID);

    List<Map<String, Object>> getDailyCountLast7Days();
}